package com.easylinkin.linkappapi.grid.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 网格周报表
 *
 * @author kuyujie
 * @since 2024-05-17
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("grid_report_week")
public class GridReportWeek implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @TableField(value = "id")
    private Long id;

    /**
     * 周报名称
     */
    @TableField(value = "report_name")
    private String reportName;

    /**
     * 一周的开始时间
     */
    @TableField(value = "week_start")
    private LocalDateTime weekStart;

    /**
     * 一周的结束时间
     */
    @TableField(value = "week_end")
    private LocalDateTime weekEnd;

    /**
     * 填报截止时间
     */
    @TableField(value = "submit_deadline")
    private LocalDateTime submitDeadline;

    /**
     * 需填报人员数量
     */
    @TableField(value = "requires_submit_num")
    private Integer requiresSubmitNum;

    /**
     * 已填报人员数量
     */
    @TableField(value = "already_submit_num")
    private Integer alreadySubmitNum;

    /**
     * 租户id
     */
    @TableField(value = "tenant_id")
    private String tenantId;

    /**
     * 创建人id
     */
    @TableField(value = "creator_id")
    private String creatorId;

    /**
     * 创建人
     */
    @TableField(value = "creator")
    private String creator;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 修改人id
     */
    @TableField(value = "modify_id")
    private String modifyId;

    /**
     * 修改人
     */
    @TableField(value = "modifier")
    private String modifier;

    /**
     * 修改时间
     */
    @TableField(value = "modify_time")
    private LocalDateTime modifyTime;

    /**
     * 删除标记 1未删除 0已删除
     */
    @TableField(value = "delete_state")
    @TableLogic
    private Integer deleteState;

}
